#ifndef _ADMANAGER_H_
#define _ADMANAGER_H_

#include <string>


class AdHandler
{
public:
    virtual void    OnAdFullScreenShow() = 0;
    virtual void    OnAdFullScreenDismissed() = 0;
    
};

class AdManager
{
public:
    
    
       
	static AdManager&           Instance();
    
    
    
    void                        AdInit (     const std::string& BannerAdKey,
                                           const std::string& FullScreenAdAppID,
                                           const std::string& FullScreenAdKey,
                                           AdHandler* pHandler
                                            );
    
    void						RequestBannerAd();
    void						RequestFullScreenAd(int Type);
    void						HideBannerAd();


    void                        ShutDown(void);
    void                        Hide(void);
    void                        Show(void);
    
    void                        OnFullScreen();
    void                        OnDismissed(); 
    
protected:
    
	AdManager();
	~AdManager(){};
    
private:
    
    AdHandler*                  m_pHandler;
    
    
};

#endif
